﻿using System;
using System.Collections.Generic;
using System.Text;

namespace WebSvrUpdaterCore.Models
{
    public class CheckUpdateRequest
    {
        /// <summary>
        /// 站点名称
        /// </summary>
        public string SiteName { get; set; }

        /// <summary>
        /// 主程序文件路径
        /// 用于读取版本号
        /// </summary>
        public string AssemblyFilePath { get; set; }

        /// <summary>
        /// 最新版本号
        /// </summary>
        public Version LastVersion { get; set; }

        /// <summary>
        /// 更新通道
        /// 根据配置文件选择可以更新版本
        /// 0:alpha 内部测试版
        /// 1:Beta 测试版
        /// 2:RC 预览版
        /// 3:Stable 稳定版
        /// </summary>
        public int Channel { get; set; }

        /// <summary>
        /// 更新包地址
        /// </summary>
        public string UpdatePackUrl { get; set; }

        /// <summary>
        /// 更新包MD5值
        /// </summary>
        public string UpdatePackMd5 { get; set; }

        /// <summary>
        /// 执行更新命令
        /// 多个命令用换行隔开
        /// </summary>
        public string UpdateCommand { get; set; }

        /// <summary>
        /// 更新后执行测试动作,用于确认是否更新成功
        /// 通过Http get调用测试接口
        /// </summary>
        public string TestAction { get; set; }
    }

    public class CheckUpdateRespone : BaseRespone
    {
        public CheckUpdateRespone(int code = 0, string msg = "OK"):base(code,msg)
        {

        }

        /// <summary>
        /// 更新前版本号
        /// </summary>
        public Version OldVersion { get; set; }

        /// <summary>
        /// 执行命令结果
        /// </summary>
        public string UpdateCommandResult { get; set; }

        /// <summary>
        /// 测试结果
        /// </summary>
        public string TestActionResult { get; set; }
    }
}
